home *** CD-ROM | disk | FTP | other *** search
/ Amiga Mag HDD Backup / Amiga Mag HDD Backup.zip / Amiga Mag HDD Backup / Alexander.img.bin / Alexander.img / tech 4.1 editorial Archive.sit / Iovine / Cell_Auto (.txt) < prev    next >
AmigaBASIC Source Code  |  1993-06-18  |  912b  |  28 lines

  1. REM Cellular Automatiom  by John Iovine
  2. SCREEN 1,320,200,4,1
  3. WINDOW 2,"Artificial Life --- Cellular Automa",,23,1
  4. RANDOMIZE TIMER :PALETTE 0,0,0,0
  5. DIM ol(325),ne(325),ko(325),code(16)
  6. FOR x = 1 TO 16: READ n:code(x) = n:PALETTE x,RND,RND,RND:NEXT
  7. DATA 0,1,0,1,1,0,1,0,1,1,1,0,0,1,1,0 :
  8. GOSUB seed
  9. display:
  10. FOR y = 1 TO 319
  11. rule = (4* ol(y-1) + 4 * ol(y) + 3 * ol(y+1) + 2* ol(y+2) + 2 * ol(y+3)) + 1
  12. ne(y) = code(rule): ko(y) = rule:NEXT
  13. FOR y = 1 TO 319
  14.   IF ne(y) = 1 THEN PSET(y,ht),(ko(y)-1) :ELSE PSET(y,ht),0
  15. ol(y) = ne(y): NEXT
  16. ht = ht + 1
  17. IF ht = 184 THEN ht = 170: GOSUB change:LOCATE 23,1:PRINT:PRINT
  18. getkey:
  19. a$ = INKEY$
  20. IF a$="q" THEN SCREEN CLOSE 1: END
  21. IF a$ <> "" THEN GOSUB change
  22. GOTO display
  23. change:
  24. cg = INT(RND(1)*16) + 1: dc = INT(RND(2) * 2):code(cg) = dc:RETURN
  25. seed:
  26. FOR i = 0 TO 325:ol(i) = INT(RND(2) * 2):NEXT:RETURN
  27.  
  28.